#ifndef __EQUATION_BASE_HH__
#define __EQUATION_BASE_HH__
#include "setting.hh"
#include <vector>
#include <string>
#include <map>
class EquationBase {
public:
  EquationBase();
  virtual ~EquationBase();
  virtual void transmit_equ_parameter();
  virtual void get_equation_flux(int dim, double* dir, double* var, double* fequ)=0;
  // virtual void get_local_vmax(int dim, double* dir, double* var, double& a_local_vmax)=0;
  virtual void get_local_vmax(int index)=0;  
  virtual void append_parameter(std::string parakey,double paravalue);
  virtual void set_parameter(std::string parakey,double paravalue);  
  int phynumber;
  std::map<std::string,double> para;
  std::vector<double> physical_variable;
  std::vector<std::string> physical_variable_name;
};
#endif  // __EQUATION_BASE_HH__
